1
ความหมายกับค่า: ทำความเข้าใจลูกศรซ้ายและลูกศรขวา
AI037Lesson 7
00:00

ในภาษา C++ ทุกการแสดงออกจะให้ผลลัพธ์เป็น ลูกศรซ้าย หรือ ลูกศรขวา. การแยกแยะนี้กำหนดว่าการแสดงออกอ้างถึงตัวแปรของวัตถุที่มี ความหมาย (ที่อยู่) หรือค่าของมัน ค่า (สิ่งที่มันเก็บไว้)

1. ความหมายกับเนื้อหา

ลูกศรซ้าย ลูกศรซ้าย (ค่าตำแหน่ง) แทนวัตถุที่มีที่อยู่ในหน่วยความจำที่คงที่ ลองนึกภาพมันเหมือนกล่องที่มีป้ายชื่อในหน่วยความจำ ตรงข้ามกัน ลูกศรขวา ลูกศรขวา (ค่าอ่าน) เป็นชั่วคราว มันแทนผลลัพธ์ชั่วคราวหรือค่าคงที่ที่ไม่มีที่อยู่ที่โปรแกรมเมอร์สามารถเข้าถึงได้

ภาชนะลูกศรซ้ายที่อยู่: 0x7FFEข้อมูลลูกศรขวาค่า: 42การแปลง

2. การเปลี่ยนแปลงเชิงฟังก์ชัน

แม้ว่าลูกศรซ้ายจะสามารถใช้เป็นลูกศรขวาได้ (คอมไพเลอร์เพียงแค่ดึงค่าภายในกล่องมา) แต่ในทางกลับกันนั้นห้ามทำได้ คุณไม่สามารถใช้ลูกศรขวาเมื่อต้องการลูกศรซ้าย เช่น คุณไม่สามารถดึงที่อยู่ของตัวเลขค่าคงที่ เช่น &42 เพราะมันไม่มีความหมายที่คงที่

$$ \text{ลูกศรซ้าย} \xrightarrow{\text{การแปลง}} \text{ลูกศรขวา} \quad (\text{อนุญาต}) $$

$$ \text{ลูกศรขวา} \xrightarrow{\text{การมอบหมาย}} \text{ลูกศรซ้าย} \quad (\text{ห้าม}) $$

main.py
TERMINALbash — 80x24
> Ready. Click "Run" to execute.
>